ヘッダーをスキップ
Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド
リリース7.0
E05164-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttRepDuplicateEx

説明

リモート・データ・ストアのレプリカをローカル・マシンに作成する方法を提供します。

リモート・データ・ストアがディスクレスの場合、この処理は、メモリ転送中、リモートのソース・データ・ストアにデータ・ストア・レベル・ロックを設定します。これによって、複製処理中、他のすべての接続がリモート・データ・ストアにアクセスできなくなります。

オプションで、memCopyパラメータ値にTT_TRUEを使用して、リモートのレプリケーション可能な一時データ・ストアまたは永続データ・ストアのレプリカを作成できます。このオプションでは、ディスクレス・モードのttRepDuplicateExは、ネットワークを介してデータ・ストアをコピーする前にメモリー内にリモート・データ・ストアの中間のコピーを作成するため、リモート・データ・ストアは、メモリー間コピーの実行中にのみロックされます。これによって、ディスクレス・モードでこの処理を行った場合のデータ・ストアのロック時間が短縮されます。追加のリモート・コピーに使用できる十分なRAMがある必要があります。

アクセス制御

アクセス制御が有効な場合、指定したユーザーにはADMIN権限が必要です。

構文

ttRepDuplicateEx (ttUtilHandle handle,

                   const char *destConnStr,

                   const char *srcDatastore,

                   const char *remoteHost,

                   ttRepDuplicateExArg *arg

                   );

typedef struct

{

      unsigned int size; /*set to size of(ttRepDuplicateExArg) */

      unsigned int flags;

      const char *uid;

      const char *pwd;

      const char *pwdcrypt;

      const char *cacheuid;

      const char *cachepwd;

      const char *localHost;

      int truncListLen;

      const char **truncList;

      int dropListLen;

      const char **dropList;

      int maxkbytesPerSec

      int remoteDaemonPort

      /*new struct elements can only be added here at the end */

} ttRepDuplicateExArg;

パラメータ

ttRepDuplicateExには、次のパラメータがあります。

パラメータ
説明
handle
ttUtilHandle
ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
destConnStr
const char *

リモート・データ・ストアのレプリカとして作成するローカル・データ・ストアの接続文字列を指定するヌル終端文字列。

srcDatastore
const char *

リモートのソース・データ・ストア名を指定するヌル終端文字列。この名前は、データ・ストア・パス名の最後の部分です。

remoteHost
const char *

リモートのソース・データ・ストアが配置されているマシンのTCP/IPホスト名を指定するヌル終端文字列。

arg
ttRepDuplicateExArg*

必要なttRepDuplicateEx引数が含まれている構造体のアドレス。NULLがargに対して渡される場合またはarg -> sizeの値が無効の場合は、エラー12230(「Invalid argument value」)およびTTUTIL_ERRORが返されます。

構造体要素

ttRepDuplicateEx引数の構造体には、次の要素があります。

要素
説明
size
unsigned int

最大(ttRepDuplicateExArg)のサイズまで設定する必要があります。

flags
unsigned int

次のリストから選択される値のビット単位の共用体。

uid
const char *

複製処理を実行しているユーザーのユーザーID。

pwd
const char *

ユーザーIDに関連付けられているパスワード。

pwdcrypt
const char *

ユーザーIDに関連付けられている暗号化されたパスワード。

cacheuid
const char *

キャッシュ管理ユーザーID。

cachepwd
const char *

キャッシュ管理ユーザー・パスワード。

localHost
const char *

ローカル・マシンのTCP/IPホスト名を指定するヌル終端文字列。remoteRepStartがTT_FALSEの場合、localHostは無視されます。これによって、ローカル・ホストは明示的に識別されます。このパラメータはNULLにできます。これは、IPアドレスなどの標準でない名前をローカル・ホストに使用する場合に有効です。

truncListLen
int

truncListの要素の数。

truncList
const char**

複製後に切り捨てるレプリケーションされていない表のリスト。

dropListLen
int

dropListの要素の数。

dropList
const char**

複製処理後に削除するレプリケーションされていない表のリスト。

maxkbytesPerSec
int

maxkbytesPerSecを0(ゼロ)以外の値に設定すると、複製処理でデータがmaxkbytesPerSec(KB/秒)を超えてネットワークに送信されないように指定されます。maxkbytesPerSecを0(ゼロ)または負の値に設定すると、複製処理で帯域幅の制限が試行されないように指定されます。

remoteDaemonPort
int

リモート・デーモン・ポートを指定します。remoteDaemonPortを0に設定すると、ターゲット・データ・ストアのデーモン・ポート番号には、ソース・データ・ソース上のデーモンに使用されたポート番号が設定されます。

このオプションは、自動ポート構成を使用したデータ・ストアの複製処理では使用できません。

ttRepDuplicateExArgフラグ要素には、次の値があります。

説明
TT_REPDUP_NOFLAGS

フラグがありません。

TT_REPDUP_COMPRESS

複製処理に対して、ネットワークを介して送信されるデータの圧縮を有効にします。

TT_REPDUP_MEMCOPY

リモートのソース・データ・ストアがディスクレスの場合、ttRepDuplicateExは、ネットワークを介してデータ・ストアをコピーする前にリモート・データ・ストアの中間コピーをメモリーに作成します。

TT_REPDUP_REPSTART

ttRepDuplicateExは、リモート・データ・ストアがネットワークを介してコピーされる前に、リモート・データ・ストアの(ローカル・データ・ストアに対する)レプリケーションの状態をstartに設定します。これによって、複製処理の後で行われたすべての更新が、リモート・データ・ストアから新しく作成またはリストアされたローカル・データ・ストアにレプリケートされます。

TT_REPDUP_RAMLOAD

複製処理の完了時に、メモリー内にデータ・ストアを保持します。データ・ストアのramPolicyがmanualに変更されます。

TT_REPDUP_DELXLA

ttRepDuplicateExは、すべてのXLAブックマークを複製処理の一部として削除します。

TT_REPDUP_NOKEEPCG

キャッシュ・グループ定義を保持しません。ttRepDuplicateExは、すべてのキャッシュ・グループ表を通常の表に変換します。

TT_REPDUP_RECOVERINGNODE

AWTまたは自動リフレッシュ・キャッシュ・グループを含むレプリケーション・スキームの障害ノードのリカバリにttRepDuplicateExを使用すること指定します。新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合、TT_REPDUP_RECOVERINGNODEは指定しないでください。ttRepDuplicateExでOracleデータベースに格納されているメタデータを更新できず、すべての増分自動リフレッシュ・キャッシュ・グループがレプリケートされる場合、メタデータへの更新は、キャッシュおよびレプリケーション・エージェントが開始されるまで、自動的に延期されます。

TT_REPDUP_DEFERCACHEUPDATE

キャッシュおよびレプリケーション・エージェントが開始され、エージェントがOracleデータベースに接続できるまで、Oracleデータベースに格納されているメタデータの更新を強制的に延期します。このオプションを使用すると、増分キャッシュ・グループの一部がレプリケートされない場合、またはttRepDuplicateExを使用して新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合に、完全な自動リフレッシュが行われます。

データ・ストア・パス名がC:\dsns\payrollであるremote_payrollというリモートのTimesTen DSNのレプリカをlocal_payrollというローカルDSNに作成するには、次のように入力します。

ttUtilHandle   utilHandle;

int            rc;

ttRepDuplicateExArg arg;

memset(&arg, 0, sizeof(arg));

arg.size = sizeof(ttRepDuplicateExArg);

arg.flags = TT_REPDUP_REPSTART | TT_REPDUP_DELXLA;

arg.localHost = "mylocalhost";

rc = ttRepDuplicateEx(utilHandle, "DSN=local_payroll", "payroll", "remotehost", &arg);

);

参照

次の組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』を参照してください。

ttReplicationStatus
ttRepPolicySet
ttRepStop
ttRepSubscriberStateSet
ttRepSyncGet
ttRepSyncSet